function A_BlechDust(actor, var1, var2)
	for i = 1, 8
	local dust = P_SpawnMobjFromMobj(actor, 0, 0, 0, MT_SPINDUST)
		if dust
		and dust.valid
		P_InstaThrust(dust, ANGLE_45*i, var1*FRACUNIT)
		end
	end
end

function A_BlechGoop(actor, var1, var2)
S_StartSound(actor, sfx_cdfm16)
actor.momx = 0
actor.momy = 0
	for i = 1, 5
	local goop = P_SpawnMobjFromMobj(actor, 0, 0, FRACUNIT, MT_BLECH_GOOP)
		if goop
		and goop.valid
			if i == 1
			goop.threshold = 1 //Sound For only one goop
			end
		goop.fuse = 5*TICRATE
		P_InstaThrust(goop, (72*i)*ANG1, var1*FRACUNIT)
		P_SetObjectMomZ(goop, var2*FRACUNIT)
		end
	end
end

function A_BlechGoopThink(actor, var1, var2)
local gtrail = P_SpawnMobjFromMobj(actor, 0, 0, 0, MT_GOOPTRAIL)
	if gtrail
	and gtrail.valid
	gtrail.color = SKINCOLOR_PURPLE
	gtrail.colorized = true
	end
	if P_IsObjectOnGround(actor)
		if actor.threshold == 1 //Sound
		A_Pain(actor)
		end
	actor.momx = 0
	actor.momy = 0
	actor.state = S_BLECH_GOOP3
	end
end